Various utilities exist today that allow merging of files and directories within an existing file system. Operating systems such as Microsoft Windows® and UNIX® provide file and directory manipulation utilities, such as shell programs to copy, move, and rename files and directories. Proprietary systems are also on the market that facilitate file system recovery and file system backup. All of these merging technologies require the presence of a file system that can act as an intermediary in the task of manipulating the underlying structures stored on physical media, on behalf of the requesting application.
Because merging as it exists in the prior art indirectly accesses physical media, each operation requires a non-trivial amount of setup overhead, resulting in inefficient file manipulation. This inefficiency is especially apparent when a large number of file transfer operations are executed. Furthermore, because the requesting application has no knowledge of the architecture of the underlying physical medium or the structure of the low level data laid out thereon, the file merging operations cannot easily be optimized to leverage specific attributes of the physical medium, nor do they necessarily have access to metadata concerning the data underlying the files and directories of the file system.
File system cloning software is also on the market today. During a file system clone, the data underlying an existing file system are examined at the physical media layout level, and a stream of objects is created representing that file system. A new file system is then created by initializing and modifying low level file system structures directly on a target physical medium. Because it operates at a lower level, a cloning operation is more efficient than file merging operations. Additionally, cloning operations can leverage knowledge of physical media architecture, and can access file system metadata.
Cloning is a destructive process, which destroys whatever content may happen to be in the target region of the physical media, by laying down a new file system thereon. Although cloning is an efficient way in which to create a new file system with the content and attributes of an existing one, as it exists in the prior art cloning cannot be used for non-destructive file manipulation operations on existing file systems.
What is needed are methods, computer readable media and systems that provide the efficiency and control over metadata and physical media of cloning, but that can be used to perform file manipulation operations on existing file systems, as merging utilities can.